# 对应CSDN python系列专栏博客
# 对应2024/03/28 的python博客
# 主题：探索 Python 编程世界：常量、变量及数据类型解析
"""
import math

# 常量
PI = 3.1415926
r = float(input("请输入圆的半径："))
area = PI * r * r
print("area = ", area)

# 使用math库中的pi
PI = math.pi
r = float(input("请输入圆的半径："))
area = PI * r * r
print("area = ", area)

# 变量使用
x = 5
name = "John"
print(x)
print(name)

# 多个变量赋值
a = 1
b = 2
c = 3

a, b, c = 1, 2, 3

# 自动识别类型
x = 5
name = "John"
print(type(x))
print(type(name))

# 类型报错
x = 5
print(x + "hello")  # TypeError: unsupported operand type(s) for +: 'int' and 'str'

# 浮点数的输出
f = 32.6e18
print("f =", f)
print("f = %e" % f)
print("f = %f" % f)
print(f"f= {f}")

# 布尔类型
x = True
y = False
if x:
    print("x is True")
else:
    print("x is False")
# 布尔类型的值
print(True == 1)

print(False == 0)

# 字符串类型
str1 = 'Hello, World!'
str2 = "Python Programming"

# list 列表
my_list = ['C', 'I', 'L', 'M', 'Y', 2, 3]
print(my_list[0])
print(my_list[1])
print(my_list[2])
print(my_list[-4])
print(my_list[-3])
print(my_list[-2])
print(my_list[-1])

my_list = ['C', 'I', 'L', 'M', 'Y', 2, 3]
print(my_list[1:4])
# 列表的增删查改
my_list = ['C', 'I', 'L', 'M', 'Y', 2, 3]

my_list.append(6)        # 在列表末尾添加元素
my_list.insert(0, 0)     # 在指定位置插入元素
my_list.remove(3)        # 删除指定元素
my_list.pop(2)           # 删除指定索引处的元素
print(my_list.index(2))  # 查找指定元素的索引

for i in my_list:
    print(i,end=" ")

# 元组
my_tuple = ('C', 'I', 'L', 'M', 'Y', 2, 3)

print(my_tuple[0])
print(my_tuple[2:4])
# 元组做函数返回值
def get_num():
    return (3.5, 7.2)

x, y = get_num()
print("x num:", x)
print("y num:", y)

# 可修改的元组
change_tuple = ([1, 2], [3, 4])
change_tuple[0].append(3)
print(change_tuple)

# set 集合
my_set = {1, 2, 3, 4, 5}

# 集合支持交集并集等等操作
set1 = {1, 2, 3}
set2 = {3, 4, 5}

# 求交集
same = set1 & set2
print(same)

# 求并集
union = set1 | set2
print(union)

# 求差集
dif= set1 - set2
print(dif)

# 添加元素
my_set.add(6)
print(my_set)

# 删除元素
my_set.remove(3)
print(my_set)
"""
# dict 字典
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 打印字典
print(my_dict['name'])
print(my_dict['age'])

# 修改键值对
my_dict['age'] = 31

# 删除键值对
del my_dict['city']

# 添加新的键值对
my_dict['gender'] = 'female'

print(my_dict)  # 输出：{'name': 'Alice', 'age': 31, 'gender': 'female'}

